﻿using System;
namespace MobileMake.Models
{
    public interface IDataService
    {
        #region Portals
        bool ValidatePortal(Portal portalToValidate);
        bool AddPortal(Portal portalToAdd);
        bool DeletePortal(Portal portalToDelete);
        bool UpdatePortal(Portal portalToUpdate);
        Portal GetPortal(int? portalId);
        System.Collections.Generic.List<Portal> GetPortals();
        System.Linq.IQueryable<Portal> GetPortalsQueryable();
        #endregion
        /*
        Module AddModule(Module moduleToAdd);
        ModuleSetting AddModuleSetting(ModuleSetting moduleSettingToAdd);
        Tab AddTab(Tab tabToAdd);
        TabCondition AddTabCondition(TabCondition tabConditionToAdd);
        TabModule AddTabModule(TabModule tabModuleToAdd);
        TabModuleCondition AddTabModuleCondition(TabModuleCondition tabModuleConditionToAdd);
        bool DeleteModule(Module moduleToDelete);
        bool DeleteModuleSetting(ModuleSetting moduleSettingToDelete);       
        bool DeleteTab(Tab tabToDelete);
        bool DeleteTabCondition(TabCondition tabConditionToDelete);
        bool DeleteTabModule(TabModule tabModuleToDelete);
        bool DeleteTabModuleCondition(TabModuleCondition tabModuleConditionToDelete);
        System.Collections.Generic.List<Module> GetAllModules();
        System.Collections.Generic.List<Tab> GetAllTabs();
        System.Collections.Generic.List<TabModule> GetAllTabsModules(int portalId);
        Module GetModule(int moduleId, int tabId);
        System.Collections.Generic.List<Module> GetModules(int portalId);
        ModuleSetting GetModuleSetting(int moduleId, string settingName);
        System.Collections.Generic.List<ModuleSetting> GetModuleSettings(int moduleId);
        Portal GetPortalByTab(int? tabId);
        System.Collections.Generic.List<TabModule> GetPortalTabModules(int portalId, int tabId);
        Tab GetTab(int tabId);
        TabCondition GetTabCondition(int moduleId, int tabConditionId);
        System.Collections.Generic.List<TabCondition> GetTabConditions(int tabId);
        TabModuleCondition GetTabModuleCondition(int moduleId, int tabModuleConditionId);
        System.Collections.Generic.List<TabModuleCondition> GetTabModuleConditions(int moduleId);
        System.Collections.Generic.List<TabModule> GetTabModuleOrder(int tabId, string paneName);
        System.Collections.Generic.List<TabModule> GetTabModules(int tabId);
        System.Collections.Generic.List<string> GetTabPanes(int tabId);
        System.Collections.Generic.List<Tab> GetTabs(int portalId);
        Module UpdateModule(Module moduleToUpdate);
        void UpdateModuleOrder(int tabId, int moduleId, int moduleOrder, string paneName);
        ModuleSetting UpdateModuleSetting(ModuleSetting moduleSettingToUpdate);       
        Tab UpdateTab(Tab tabToUpdate);
        TabCondition UpdateTabCondition(TabCondition tabConditionToUpdate);
        TabModule UpdateTabModule(TabModule tabModuleToUpdate);
        TabModuleCondition UpdateTabModuleCondition(TabModuleCondition tabModuleConditionToUpdate);
        */
    }
}
